package com.ccys.db.vo.app.callStandByScreen;

import com.ccys.db.vo.app.launchingTheApp.DoctorMakeVo;
import com.ccys.db.vo.app.launchingTheApp.PartnerCompanyMakeVo;
import com.ccys.db.vo.app.splashscreen.AllergiesMakeVo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @program: WhiteCoat
 * @description: CheckConsultReady接口返回Vo
 * @author: ZhangJingCan
 * @create: 2024-01-22 17:28
 **/

@Data
public class CheckConsultReadyVo {
    //todo bookingId和code？
    private String id;
    private String code;

    /**
     * 状态值
     */
    @JsonProperty("status_value")
    private Integer statusValue;

    /**
     * 子状态值
     */
    @JsonProperty("sub_status_value")
    private Integer subStatusValue;

    /**
     * 队列编号
     */
    @JsonProperty("queue_no") // todo 前端查看没用，这里写死了值为 1 ，sql中注释了一条子查询，如果需要可以放开子查询
    private Integer queueNo = 1;

    private Boolean G6PD;

    /**
     * 是否删除
     */
    @JsonProperty("is_deleted")
    private Boolean isDeleted;

    /**
     * 孩子
     */
    private ChildMakeVo child;

    /**
     * 问诊开始时间
     */
    @JsonProperty("consultant_begin_date")
    private Date consultantBeginDate;

    /**
     * 是否免收问诊费
     */
    @JsonProperty("is_waive_consultation_fee")
    private Boolean isWaiveConsultationFee;

    /**
     * todo 第三方在线视频地址ID 目前不知道怎么取
     */
    @JsonProperty("twilio_room")
    private String twilioRoom;

    /**
     * 患者所在国家ID 对方返回的是数字类型的id，我们项目是字符串的id
     */
    @JsonProperty("patient_country_of_residence")
    private String patientCountryOfResidence;

    /**
     * 处方集合
     */
    private List<PrescriptionMakeVo> prescription;

    /**
     * 处方包装集合？ 不知道具体返回什么 todo 对方医生PC端好像出问题了无法添加package的药物
     */
    @JsonProperty("package_prescription")
    private String packagePrescription;

    /**
     * 医疗服务套餐 tbl_booking_package这个是问诊开的打包药品或者服务
     */
    @JsonProperty("package_medical_service")
    private List<PackageMedicalServiceMakeVo> packageMedicalService;


    /**
     * 医疗服务集合 tbl_booking_medical_service这个是问诊开的服务
     */
    @JsonProperty("medical_service")
    private List<MedicalServiceMakeVo> medicalService;

    /**
     * 医生数据
     * todo 这里只需要：
     * "id": "447c59dd-e6de-4eba-b4b6-b0c51cd7f2d4",
     * "first_name": "Dr. Zhang",
     * "last_name": "",
     * "profile_photo": "https://whcapi-qa.whitecoat.global/v1/pub/Component/ViewImage?&acc_type=GyZ7SILItMGsK6IKRiIffg%3d%3d&acc_id=TR2F5bnerGmy6F75mgYdKqVbeBZT9Jg19OsTGuSN6ChVpX921RdEUfQN9orwj8qN&img_type=zvNPQ7izgW0mYNIDyKIr2g%3d%3d&latest_update=638412735400000000",
     * "doctor_type": "1"
     */
    private DoctorMakeVo doctor;

    /**
     * 过敏症状集合
     */
    private List<AllergiesMakeVo> allergies;

    /**
     * 配置文件类型ID todo 目前不知道
     * tbl_country_service_type_profile_type 这个表？
     */
    @JsonProperty("profile_type_id")
    private String profileTypeId;

    /**
     * AIA企业
     */
    @JsonProperty("aia_corporate")
    private AiaCorporateMakeVo aiaCorporate;

    /**
     * 合伙公司
     * 和UpdateResetMedicationVo那边一样
     * todo 这里只需要两个字段值
     *  "clinic_number": "18M0119/01/82",
     *   "clinic_contact_no": "+65 8395 3427"
     */
    @JsonProperty("partner_company")
    private PartnerCompanyMakeVo partnerCompany;

}
